package com.ruoyi.user.mapper;

import com.ruoyi.common.core.cg.pojo.Group;
import com.ruoyi.common.core.cg.pojo.User;
import com.ruoyi.common.core.cg.result.Result;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface GroupMapper {
    // 分页查询团
    List<Group> findPage(@Param("queryString") String queryString, @Param("communityId") Integer communityId, @Param("status") Integer status);
    // 通过ID查询团
    Group findById(Integer id);
    // 入团
    void joinGroup(@Param("groupId") Integer groupId, @Param("userId") Integer userId);
    // 判断用户是否进团
    Integer judgeJoinGroupOrNot(@Param("groupId") Integer groupId, @Param("userId") Integer userId);
    // 查询当前团的成员人数
    Integer findCurrentMemberCountByGroupId(Integer id);
    // 添加团索对应订单
    void addGroupOrder(@Param("groupId") Integer groupId, @Param("oid") Integer oid);
    // 查询该团所有的成员
    List<User> findGroupAllMemberByGroupId(Integer id);
    // 查询用户所处团的所有用户
    List<User> findGroupMemberByGroupId(@Param("id") Integer id, @Param("startIndex") Integer startIndex, @Param("endIndex") Integer endIndex);
    // // 查询过期的团
    List<Integer> findByTime();
    // 修改拼团状态
    void batchUpdateState(@Param("groupIdList") List<Integer> groupIdList);
    // 查询团所对应的用户
    List<User> findUserByGroupId(Integer id);
    // 查询所有
    List<Map<String,Object>> findAll();
}
